﻿#pragma once
#include<assert.h>
#include<iostream>//c++的输入输出流
using std::cout, std::endl;
//#include<vector>
//using std::vector;
#include<list>
using std::list;
namespace myspace
{
	/*stack模版函数*/
	template<class T,class Container>
	class queue
	{
	public:
		void push(const T& x)
		{
			_con.push_back(x);
		}
		void pop()
		{
			_con.pop_front();
		}
		size_t size()
		{
			return _con.size();
		}
		bool empty()
		{
			return _con.empty();
		}
		T& front()
		{
			return _con.front();
		}
		T& back()
		{
			return _con.back();
		}
	private:
		Container _con;
	};

	
	/*___________________*/

	

	

	void test_queue1()
	{
		cout << "test_queue1" << endl;
		queue<int, list<int>> q1;
		q1.push(1);
		q1.push(2);
		q1.push(3);
		q1.push(4);
		q1.push(5);
		while (!q1.empty())
		{
			cout << q1.front() << " ";
			q1.pop();
		}
		cout << endl;
		
		cout << "test_queue1" << endl;
	}
	void test_queue2()
	{
		cout << "test_queue2" << endl;
		
		cout << "test_queue2" << endl;
	}
	
}